<template>
  <div class="error layout-padding">
    <div class="layout-padding-auto layout-padding-view">
      <div class="error-flex">
        <div class="left">
          <div class="left-item">
            <div class="left-item-animation left-item-num">401</div>
            <div class="left-item-animation left-item-title">您未被授权，没有操作权限~</div>
            <div class="left-item-animation left-item-msg">请重新登入</div>
            <div class="left-item-animation left-item-btn">
              <el-button type="primary" round @click="onSetAuth">重新授权</el-button>
            </div>
          </div>
        </div>
        <div class="right">
          <img
              src="../../assets/noPower.png"
           alt="没有权限访问"/>
        </div>
      </div>
    </div>
  </div>
</template>

<script setup  name="noPower">
import { Session } from '/@/utils/storage';

const onSetAuth = () => {
  // 清除缓存/token等
  Session.clear();
  // 使用 reload 时，不需要调用 resetRoute() 重置路由
  window.location.reload();
};
</script>


<style scoped lang="scss">
.error {
  height: 100%;

  .error-flex {
    margin: auto;
    display: flex;/*设置容器的显示类型为flex*/
    height: 350px;
    width: 900px;

    .left {
      flex: 1;/*表示当前元素等比例的填充容器的可用空间*/
      height: 100%;
      align-items: center;/*垂直方向上 子元素剧中对其*/
      display: flex;

      .left-item {
        .left-item-animation {
          opacity: 0; /*不透明度为0 将完全不展示这个*/
          animation-name: error-num;
          animation-duration: 0.5s;/*动画的持续时间*/
          animation-fill-mode: forwards;/*表示动画结束后，元素将保持最后一帧的样式*/
        }

        .left-item-num {
          color: var(--el-color-info); /*var 取变量的值*/
          font-size: 55px;/*字体的大小*/
        }

        .left-item-title {
          font-size: 20px;
          color: var(--el-text-color-primary);
          margin: 15px 0 5px 0;/*外边距 上 右 下 左*/
          animation-delay: 0.1s;/*动画延迟0.1s*/
        }

        .left-item-msg {
          color: var(--el-text-color-secondary);
          font-size: 12px;
          margin-bottom: 30px;
          animation-delay: 0.2s;
        }

        .left-item-btn {
          animation-delay: 0.2s;/*动画延迟*/
        }
      }
    }

    .right {
      flex: 1;
      opacity: 0;
      animation-name: error-img;
      animation-duration: 2s;
      animation-fill-mode: forwards;

      img {
        width: 100%;
        height: 100%;
      }
    }
  }
}

/* 404、401 过渡动画 @keyframes 定义动画关键帧
------------------------------- */
@keyframes error-num {
  0% {
    transform: translateY(60px);/*Y方向上移动60px*/
    opacity: 0;/**/
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes error-img {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
</style>
